﻿using Co9320.NamaAlert.CommunicationControl;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using Co9320.NamaAlert.Model;
using System.Collections.Generic;

namespace TagServerTest
{
    
    
    /// <summary>
    ///ServerCommunicatorTest のテスト クラスです。すべての
    ///ServerCommunicatorTest 単体テストをここに含めます
    ///</summary>
	[TestClass()]
	public class ServerCommunicatorTest
	{


		private TestContext testContextInstance;

		/// <summary>
		///現在のテストの実行についての情報および機能を
		///提供するテスト コンテキストを取得または設定します。
		///</summary>
		public TestContext TestContext
		{
			get
			{
				return testContextInstance;
			}
			set
			{
				testContextInstance = value;
			}
		}

		#region 追加のテスト属性
		// 
		//テストを作成するときに、次の追加属性を使用することができます:
		//
		//クラスの最初のテストを実行する前にコードを実行するには、ClassInitialize を使用
		//[ClassInitialize()]
		//public static void MyClassInitialize(TestContext testContext)
		//{
		//}
		//
		//クラスのすべてのテストを実行した後にコードを実行するには、ClassCleanup を使用
		//[ClassCleanup()]
		//public static void MyClassCleanup()
		//{
		//}
		//
		//各テストを実行する前にコードを実行するには、TestInitialize を使用
		//[TestInitialize()]
		//public void MyTestInitialize()
		//{
		//}
		//
		//各テストを実行した後にコードを実行するには、TestCleanup を使用
		//[TestCleanup()]
		//public void MyTestCleanup()
		//{
		//}
		//
		#endregion


		/// <summary>
		///Get のテスト
		///</summary>
		[TestMethod()]
		public void GetTest()
		{
			TimeSpan OneWayInterval = new TimeSpan(); // TODO: 適切な値に初期化してください
			string TokenKey = string.Empty; // TODO: 適切な値に初期化してください
			string ApplicationId = string.Empty; // TODO: 適切な値に初期化してください
			ServerCommunicator target = new ServerCommunicator(OneWayInterval, TokenKey, ApplicationId); // TODO: 適切な値に初期化してください
			string StationId = string.Empty; // TODO: 適切な値に初期化してください
			string Caster = string.Empty; // TODO: 適切な値に初期化してください
			target.Get(StationId, Caster);
			Assert.Inconclusive("値を返さないメソッドは確認できません。");
		}

		/// <summary>
		///Dispose のテスト
		///</summary>
		[TestMethod()]
		public void DisposeTest()
		{
			TimeSpan OneWayInterval = new TimeSpan(); // TODO: 適切な値に初期化してください
			string TokenKey = string.Empty; // TODO: 適切な値に初期化してください
			string ApplicationId = string.Empty; // TODO: 適切な値に初期化してください
			ServerCommunicator target = new ServerCommunicator(OneWayInterval, TokenKey, ApplicationId); // TODO: 適切な値に初期化してください
			target.Dispose();
			Assert.Inconclusive("値を返さないメソッドは確認できません。");
		}

		/// <summary>
		///Delete のテスト
		///</summary>
		[TestMethod()]
		public void DeleteTest()
		{
			TimeSpan OneWayInterval = new TimeSpan(); // TODO: 適切な値に初期化してください
			string TokenKey = string.Empty; // TODO: 適切な値に初期化してください
			string ApplicationId = string.Empty; // TODO: 適切な値に初期化してください
			ServerCommunicator target = new ServerCommunicator(OneWayInterval, TokenKey, ApplicationId); // TODO: 適切な値に初期化してください
			string StationId = string.Empty; // TODO: 適切な値に初期化してください
			string Caster = string.Empty; // TODO: 適切な値に初期化してください
			IList<TagModel> Tags = null; // TODO: 適切な値に初期化してください
			target.Delete(StationId, Caster, Tags);
			Assert.Inconclusive("値を返さないメソッドは確認できません。");
		}

		/// <summary>
		///Add のテスト
		///</summary>
		[TestMethod()]
		public void AddTest()
		{
			TimeSpan OneWayInterval = new TimeSpan(); // TODO: 適切な値に初期化してください
			string TokenKey = string.Empty; // TODO: 適切な値に初期化してください
			string ApplicationId = string.Empty; // TODO: 適切な値に初期化してください
			ServerCommunicator target = new ServerCommunicator(OneWayInterval, TokenKey, ApplicationId); // TODO: 適切な値に初期化してください
			string StationId = string.Empty; // TODO: 適切な値に初期化してください
			string Caster = string.Empty; // TODO: 適切な値に初期化してください
			IList<TagModel> Tags = null; // TODO: 適切な値に初期化してください
			target.Add(StationId, Caster, Tags);
			Assert.Inconclusive("値を返さないメソッドは確認できません。");
		}

		/// <summary>
		///ServerCommunicator コンストラクタ のテスト
		///</summary>
		[TestMethod()]
		public void ServerCommunicatorConstructorTest()
		{
			TimeSpan OneWayInterval = new TimeSpan(); // TODO: 適切な値に初期化してください
			string TokenKey = string.Empty; // TODO: 適切な値に初期化してください
			string ApplicationId = string.Empty; // TODO: 適切な値に初期化してください
			ServerCommunicator target = new ServerCommunicator(OneWayInterval, TokenKey, ApplicationId);
			Assert.Inconclusive("TODO: ターゲットを確認するためのコードを実装してください");
		}
	}
}
